package com.pkche.core.advanced.util.page;

import java.util.ArrayList;
import java.util.List;

/**
 * 分页
 * 
 * @author Admin
 * 
 */
public class TagEntry implements java.io.Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private int index;// 当前页
	private int length;// 总的分页长度
	private String queryString;// 请求字符串
	private List<Integer> pages;// 分页标签
	private int tagsize;

	/**
	 * 构造方法
	 * 
	 * @param ind
	 *            当前页
	 * @param len
	 *            页码总长度
	 * @param tag_size
	 *            页面最多显示分页标签的个数
	 */
	public TagEntry(int ind, int len, int tag_size) {
		index = ind + 1;
		length = len;
		tagsize = tag_size;
		// 计算出应该显示的页码标签
		pages = new ArrayList<Integer>();
		int tag = tagsize / 2 - 1;
		// 前4页，后5页
		int before = 4;
		for (int i = (index - tag); i < index; i++) {
			if (i > 0) {
				before--;
				pages.add(i);
			}
		}
		// after
		for (int i = index; i < (index + (tag + 1) + before); i++) {
			if (i > len) {
				break;
			}
			pages.add(i);
		}
	}

	public int getIndex() {
		return index;
	}

	public int getLength() {
		return length;
	}

	public int getTagsize() {
		return tagsize;
	}

	public List<Integer> getPages() {
		return pages;
	}

	public String getQueryString() {
		return queryString;
	}

	public void setQueryString(String queryString) {
		this.queryString = queryString;
	}
}
